草庐IT

ES 脚本

全部标签

javascript - 判断回调函数的 是否是 ES6 箭头

这个问题在这里已经有了答案:JavaScriptES6:Testforarrowfunction,built-infunction,regularfunction?(10个答案)关闭6年前。由于普通箭头函数和ES6箭头函数之间的上下文差异很大,我希望能够找出回调fn接收到的是哪一个。typeof将return两者的function。有什么办法区分吗?

javascript - ES2015+ Nested Rest 解释

我正在查看node.green在destructuring,assignment>nestedrest下,使用了以下示例函数:functionf(){vara=[1,2,3],first,last;[first,...[a[2],last]]=a;returnfirst===1&&last===3&&(a+"")==="1,2,2";}console.log(f())现在,我理解了解构,但我不明白为什么a被重写为[1,2,2]同时[...[a[2],last]]=a;返回[1,2,1] 最佳答案 [first,a[2],last]=

javascript - 我的脚本似乎毫无理由地更改了一些值

所以我一直在研究在鼠标坐标处生成气泡的脚本。这是一个非常基本的脚本,可以计算一些东西,比如随机不透明度、随机大小等。vartransform=(function(){//ThispieceistotestwhethertransformshouldbeprefixedornotvartestEl=document.createElement('div')if(testEl.style.transform==null){varvendors=['Webkit','Moz','ms']for(varvendorinvendors){if(testEl.style[vendors[vendo

javascript - 脚本范围的目的是什么?

在DevTools控制台中检查函数的作用域时,我注意到一个“脚本”作用域。经过一些研究,它似乎是为let和const变量创建的。没有const或let变量的脚本中函数的作用域:带有let变量的脚本中函数的作用域:然而,下面的代码在控制台中打印了1-脚本作用域中的变量仍然可以从其他脚本访问:letv=1console.log(v)我听说过ES6模块中的顶级变量无法从模块外部访问。这就是示波器的用途,还是它还有其他用途? 最佳答案 当您在顶层(即不在函数内部)使用var声明一个变量时,它会自动成为一个全局变量(因此在浏览器中您可以将其作

javascript - 如何停止页面上的脚本执行?

我在Chrome中随机打开了一个互联网页面。我使用启用的javascript打开它,因为我需要执行一些脚本。从某个时刻开始,我想停止脚本执行,因此不应运行任何计时器或事件处理程序。当然,使用无限循环是不行的,因为我希望页面能够响应。我怎样才能做到这一点?下面的代码部分完成了我需要的document.body.outerHTML=document.body.outerHTMLfor(t=setTimeout(()=>{});t;--t)clearTimeout(t)但是:document上的事件监听器和ajax回调将继续存在这会导致解析html,所以一些无效的标记可以通过解析来改变此外,

javascript - Babel ES6 导入错误,SyntaxError : Unexpected token import

我正在尝试设置一个基本的模块化程序,但我似乎遇到了导入模块的问题。我尝试导入我的自定义模块,但出现以下错误:(function(exports,require,module,__filename,__dirname){importtestStepfrom'testStep';^^^^^^SyntaxError:Unexpectedtokenimport导致问题的代码:测试用例.jsimporttestStepfrom'testStep';testStep.hello();测试步骤.jsvartestStep={hello:hello,};varhello=()=>{console.lo

javascript - ES6 文件上的谷歌地图回调

我正在尝试在ES6文件上添加回调,但找不到它。我收到此错误消息:“initMap不是函数”我的文件是这样的:&callback=initMap">我的js文件是:exportfunctioninitMap(){map=newgoogle.maps.Map(document.getElementById('map'),{center:{lat:-34.397,lng:150.644},zoom:8});fetch('/data/markers.json').then(function(response){returnresponse.json()}).then(plotMarkers);

javascript - 带有 es5 的 Angular 5

Angular4支持以下语法varHelloComponent=ng.coreComponent({selector:'hello-cmp',template:'HelloWorld!',viewProviders:[Service].Class({constructor:[Service,function(service){},`});在Angular5中,缺少类,目前任何人都可以为Angular5提供ES5语法我无法切换ES6,所以请避免使用该建议。如果切换到ES6是唯一的方法,那么我现在将坚持使用Angular4 最佳答案 您

javascript - 传播运算符 (...) 在 es6 中的数组中创建额外字段

我想根据onChange事件在相应的indexedarrayofobjects中嵌入一个新的key/value对。但是,它是正确完成的,只是在数组中添加了额外的元素。原始对象数组:0:{data:{…}}1:{data:{…}}2:{data:{…}}3:{data:{…}}4:{data:{…}}取得的成果:0:{data:{…}}1:{data:{…}}2:{data:{…},origin:"UK"}3:{data:{…},origin:"UK"}4:{data:{…}}5:"UK"6:"UK"预期结果:0:{data:{…}}1:{data:{…}}2:{data:{…},ori

当我压缩脚本时 JavaScript 停止工作

我想压缩我的2000多行javascript,我已经测试了http://dean.edwards.name/packer/和http://closure-compiler.appspot.com/home.但在这两种情况下,压缩脚本都会给我错误。一个错误的例子是jQuery(document).Daisnotafunction。为什么优化后我的脚本不工作?我可以做些什么来优化/压缩我的脚本? 最佳答案 确保每个JavaScript文件的开头都有一个分号。我知道这很奇怪,但这就是原因:你可能在一个文件中有这样的东西:functions